Skip to main content

原生 DOM 节点的用法

新增节点

createElement()
createTextNode()
createDocumentFragment()

添加、移除、替换、插入(父元素调用)

  • appendChild()
  • removeChild()
  • replaceChild()
  • insetBefore()

插入哥哥节点

window.dom = {
before(node, node2) {
//找到当前节点的父元素,调用父元素方法插入子节点
node.parentNode.inserBefore(node2, node)
}
}

插入弟弟节点

window.dom = {
after(node, node2) {
node.parentNode.insertBefore(node2, node.nextSibling)
}
}

插入儿子节点

window.dom = {
append(parent, node) {
parent.appendChild(node)
}
}

插入爸爸节点

window.dom = {
wrap(node, parent) {
dom.before(node, parent)
dom.apend(parent, node)
}
}

插入替换节点

var div = document.createElement('div')
var a = document.createElement('a')
document.body.replaceChild(a, div)

插入删除节点

div.remove() //删除div节点
window.dom = {
remove(node) {
node.parentNode.removeChild(node)
return node //保持对节点的引用
}
}

插入 class 节点

window.dom = {
class: {
//添加class
add(node, className) {
node.classList.add(className)
},
//删除class
remove(node, className) {
node.classList.remove(className)
},
//查找class
has(node, className) {
return node.classList.contains(className)
}
}
}

查找(document 调用)

getElementByTagName()
getElementByName()
getElementById()
getElementByClassName()
querySelectorAll('选择器')
querySelector('选择器')

查询节点

获取父元素

window.dom = {
parent(node) {
return node.parentNode
}
}

获取子元素

window.dom = {
children(node) {
return node.children
}
}

https://blog.csdn.net/Charissa2017/article/details/103829514